<?php

/**
 * Compras form.
 *
 * @package    tercermilenio
 * @subpackage form
 * @author     Your name here
 */
class ComprasForm extends BaseComprasForm {

    public function configure() {

        $this->widgetSchema['cpr_fecha']->addOption('format', '%day%/%month%/%year%');

        $compra = $this->getObject();
        if(!empty($compra)){
            $this->setDefault('cpr_nro_factura',$compra->getCprNroFactura());
            $this->setDefault('cpr_fecha',$compra->getCprFecha());
        }

    }

    public function setup() {

        parent::setup();

        $contextI18n = sfContext::getInstance()->getI18N();

        if (!$this->isNew()) {
            $this->setWidgets(array(
                'cpr_id' => new sfWidgetFormInputHidden(array('label' => 'ID')),
                'cpr_nro_factura' => new sfWidgetFormInput(array('label' => 'Nº Factura')),
                'cpr_proveedor' => new sfWidgetFormPropelChoice(array('model' => 'Proveedores', 'add_empty' => false,'label' => 'Proveedor')),
                'cpr_fecha' => new sfWidgetFormJQueryDate(array('format' => '%day%/%month%/%year%','label' => 'Fecha')),
                //'cpr_usuario' => new sfWidgetFormPropelChoice(array('model' => 'sfGuardUser', 'add_empty' => false)),
                //'cpr_total' => new sfWidgetFormInput(),
                //'detalle_compras_list' => new sfWidgetFormPropelChoiceMany(array('model' => 'Productos')),
            ));

            $this->setValidators(array(
                'cpr_id' => new sfValidatorPropelChoice(array('model' => 'Compras', 'column' => 'cpr_id', 'required' => false,'required'=>true)),
                'cpr_nro_factura' => new sfValidatorString(array('max_length' => 255,'required'=>true)),
                'cpr_proveedor' => new sfValidatorPropelChoice(array('model' => 'Proveedores', 'column' => 'pvd_id','required'=>true)),
                'cpr_fecha' => new sfValidatorDateTime(array('required'=>true)),
                //'cpr_usuario' => new sfValidatorPropelChoice(array('model' => 'sfGuardUser', 'column' => 'id')),
                //'cpr_total' => new sfValidatorNumber(),
                //'detalle_compras_list' => new sfValidatorPropelChoiceMany(array('model' => 'Productos', 'required' => false)),
            ));

            $this->widgetSchema->setNameFormat('compras[%s]');

            $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
        } else {
            $this->setWidgets(array(
                'cpr_id' => new sfWidgetFormInputHidden(),
                'cpr_nro_factura' => new sfWidgetFormInput(array('label' => 'Nº Factura')),
                'cpr_proveedor' => new sfWidgetFormPropelChoice(array('model' => 'Proveedores', 'add_empty' => false,'label' => 'Proveedor')),
                'cpr_fecha' => new sfWidgetFormJQueryDate(array('format' => '%day%/%month%/%year%','label' => 'Fecha')),
                //'cpr_usuario' => new sfWidgetFormPropelChoice(array('model' => 'sfGuardUser', 'add_empty' => false)),
                //'cpr_total' => new sfWidgetFormInput(),
                //'detalle_compras_list' => new sfWidgetFormPropelChoiceMany(array('model' => 'Productos')),
            ));

            $this->setValidators(array(
                'cpr_id' => new sfValidatorPropelChoice(array('model' => 'Compras', 'column' => 'cpr_id', 'required' => false)),
                'cpr_nro_factura' => new sfValidatorString(array('max_length' => 255)),
                'cpr_proveedor' => new sfValidatorPropelChoice(array('model' => 'Proveedores', 'column' => 'pvd_id')),
                'cpr_fecha' => new sfValidatorDateTime(),
                //'cpr_usuario' => new sfValidatorPropelChoice(array('model' => 'sfGuardUser', 'column' => 'id')),
                //'cpr_total' => new sfValidatorNumber(),
                //'detalle_compras_list' => new sfValidatorPropelChoiceMany(array('model' => 'Productos', 'required' => false)),
            ));

            $this->widgetSchema->setNameFormat('compras[%s]');

            $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
        }
    }

}
